const path = require("path")
const fs = require("fs")
var OSS = require("ali-oss")
const client = require("./ali-oss")

uploadPics = async (req, res) => {
  // 文件路径
  const filePath = "./" + req.files[0].path
  // 文件类型
  const temp = req.files[0].originalname.split(".")
  const fileType = temp[temp.length - 1]
  const lastName = "." + fileType
  console.log(`这是文件的后缀${lastName}`)
  // 构建图片名
  const fileName = Date.now() + lastName
  console.log(`这是重新构建的图片名字${fileName}`)
  // 图片重命名
  fs.rename(filePath, "./public/images/" + fileName, async (err) => {
    if (err) {
      return ""
    } else {
      var localFile = "./public/images/" + fileName
      var key = fileName
      try {
        // 填写OSS文件完整路径和本地文件的完整路径。OSS文件完整路径中不能包含Bucket名称。
        // 如果本地文件的完整路径中未指定本地路径，则默认从示例程序所属项目对应本地路径中上传文件。
        const result = await client.put(
          "shopimgs/" + key,
          path.normalize(localFile)
        )
        // const result = await client.put('exampleobject.txt', path.normalize('D:\\localpath\\examplefile.txt'), { headers });
        // 将本地的文件删除
        fs.unlink(localFile, function () {
          console.log("文件已经删除")
        })
        res.send({
          status: 0,
          data: result.url,
        })
      } catch (e) {
        console.log(e)
      }
    }
  })
}

module.exports = {
  uploadPics,
}
